home *** CD-ROM | disk | FTP | other *** search
/ Software 2000 / Software 2000 Volume 1 (Disc 1 of 2).iso / utilities / u502.dms / in.adf / Mapper.doc < prev    next >
Encoding:
Text File  |  1988-02-06  |  17.2 KB  |  417 lines

  1. The Scorpius Mapper Version 2.0
  2. ©1992 By Mark Sheeky. All example files are also copyrighted.
  3. This program is Public Domain.
  4.  
  5. Remeber The Scorpius Mapper ? It was used to design maps for games using
  6. blocks to put together levels. I used it to design the levels for Arazmax as
  7. well as other games.
  8. After Arazmax, I started work on a new game, and when it came to designing
  9. the levels I hit a wall. Because the mapper had no graphical imports, and
  10. because of size restrictions, most of the maps had 'bugs' in. Then mapper
  11. version 2 was born.....
  12. Incidentally, the new game is still waiting for maps. I took so much time in
  13. developing the mapper, that I got fed up with it. It's called turbo racer,
  14. and might be released in the future, if I get round to those maps.
  15.  
  16. This mapper features full graphical imports and exports, configuration
  17. files, variable tile sizes (16,24 or 32 pixels square) and a map size of up
  18. to 65536 tiles square (that's 4294 MEGABYTES!!!!!!).
  19.  
  20. If in future games I use this mapper a lot, I might include an import
  21. facility, so that you can play your own designed levels.
  22.  
  23. Firstly, the big bad news... This mapper was designed originally for my use
  24. only, and because I counldn't be arsed to include IFF imports, only raw
  25. files are supported. All is not lost however, I have inclued some sample
  26. files on the disk so that the mapper is useable without a converter. If you
  27. want to import your own graphics, you don't need to spend a fortune on
  28. commercial products. The converter I use is a licenceware disk from PD Soft
  29. (disk number L17). The disk title is 'The RSI extras disk 1' and is just the
  30. converter reccomended for use with the mapper. You had better phone PD Soft
  31. with reference to availability and price (I think they're £3.50 each). Call
  32. them on (0702) 466933.
  33. If you do use the disk, remove the title page bit from the startup-sequence,
  34. otherwise it won't work!
  35.  
  36. If you want to use the program without a converter (without graphic
  37. imports), see the section at the end entitled 'USING THE MAPPER WITHOUT
  38. GRAPHIC IMPORTS'.
  39.  
  40. About the examples.
  41. If you want to experiment with some of the included examples, just read the
  42. EXAMPLES section near the end.
  43.  
  44.  
  45.  
  46. INSTRUCTIONS.
  47.  
  48.  
  49.  
  50. ABOUT THE MAPS.
  51.  
  52. This mapper is used to design maps for games. The maps used in games like
  53. Gauntlet or Pacman are ideal examples of what can be produced on the mapper.
  54. Nearly every game that uses a scrolling play area (Sim City or Zool for
  55. example) would have to be mapped. The map is created in squares (usually 16
  56. pixels by 16), and each square is given a number. In the mapper, these
  57. squares are referred to as TILES.
  58. For example, a pacman maze might have a tile for a vertical wall, a tile for
  59. a corner, a much used tile for a dot, another for a power pill etc...
  60. The graphics for the tiles would be loaded into the mapper and drawn in the
  61. mapping area (possibly scrolling it) until a level was complete.
  62. The map would then be saved in a raw format which details all of the codes
  63. for the tiles starting from the top right corner to the bottom left.
  64. File formats are detailed in the FILES panel bit.
  65.  
  66.  
  67.  
  68. CONTROLS.
  69.  
  70. The Mapper is primarily mouse controlled. Unlike the other mapper, there are
  71. practically no keyboard equivalents. One Keyboard control that is not
  72. available using the mouse is the SPACEBAR. This toggles dots on or off.
  73. Default is off. The Current status of dots is saved in the config file. For
  74. more information on what dots do, see the DRAWING A MAP section, near the
  75. end.
  76. Clicking.
  77. Click with the left mouse button to use an icon. A beep will sound. If the
  78. icon is one that causes a number to move up or down, only one number will be
  79. added or taken away (no matter how long you hold the button down). The left
  80. button while drawing stamps down the current tile.
  81. Using the right button while on number affecting icons makes the number go
  82. up or down at an accelerating rate. This means any number from 0-65535 can
  83. be selected fairly quickly.
  84. On the drawing area, the right button does the same as the left.
  85. Text input.
  86. You will be asked to type in filenames when neccesary. The text input
  87. routines are complete crap, but don't let that put you off. Letters A-Z and
  88. space are all that is checked for. This means that any file that is to be
  89. loaded into the mapper MUST have a name consisting of only UPPER CASE LETTERS
  90. WITH NO NUMBERS, clear ? All filenames have a 16 letter limit. Press return
  91. to end text input.
  92.  
  93.  
  94.  
  95. THE SCREEN.
  96.  
  97. The top 208 pixels is the drawing area. Maps are designed here. There is a
  98. border to the 'canvas' though. Ther border is 8 pixels wide on the top and
  99. bottom edges, and 16 pixels wide on the left and right edges. The borders
  100. are there because 16, 24 or 32 pixel tiles can fit on the canvas without
  101. having halves of blocks on the edges (work it out, the canvas is 288 x 192
  102. pixels).
  103. At the bottom of the screen are the menu panels. There are four panels -
  104. MAIN, GFX (graphics), FILES, and SETUP. Numbers in the panels are usually in
  105. hex. All hex numbers have a $ in front.
  106. The panels will be discussed in detail now.
  107.  
  108.  
  109.  
  110. MAIN
  111.  
  112. This is the main panel. From here all other panels can be accessed, which
  113. tile is printed can be chosen, the area can be scrolled and cleared.
  114.  
  115. On the left hand side is a space that contains the picture of the current
  116. tile. The hex number next to it is its number, and the arrows below that let
  117. you advance to the next tile or look at the previous.
  118. The tile here is the tile printed when you click on the canvas. If there are
  119. no graphics imported, the space will be blank.
  120.  
  121. The X and Y in the centre show the co-ordinates of the pointer in tiles. 0,0
  122. is the top left hand tile and the bottom tile depends on the size of the
  123. map. The coords ar global. This means that if you scroll a tile to the
  124. right, the top tile will be 1,0.
  125.  
  126. The cluster of arrows to the right are used for scrolling. The scrolling is
  127. fairly slow, but sufficient. Click with the right mouse button to scroll
  128. continuously.
  129.  
  130. The four icons on the far right allow access to the other panels. The
  131. exception is the CLR icon. This clears the current map from memory. No other
  132. information is cleared from memory (sizes or graphics etc..) only the map
  133. data. A confirmation message appears, press C to confirm.
  134.  
  135.  
  136.  
  137. SETUP
  138.  
  139. Map information is set up here. Ususally this panel will be accessed only
  140. once and never revisited. All of the information here is saved in a
  141. configuration file (see FILES panel).
  142.  
  143. Map width and height are entered here. The smallest map available is 1x1
  144. (useless!!!!). A size of 0x0 is not allowed. The maximum size depends on the
  145. memory available. Theoretically this is $ffff x $ffff which is 4 billion
  146. bytes!! (anyone got an expansion handy!)
  147.  
  148. The number of tiles is the next big number. This can range from $0-$7fff.
  149. Zero IS inclusive here though, because tile number zero can exist. Inputting
  150. a value of 1 reserves enough memory for two tiles (numbers zero and one).
  151.  
  152. The word BYTE or WORD appears next to this number. If you have less than 256
  153. tiles then the information can fit into a byte. If not, however, a word (2
  154. bytes long) is neccesary. This also doubles the amount of memory the map
  155. uses (because you need 2 bytes per 'cell').
  156. If you have less than 256 tiles, but still want to use a word of space, just
  157. put a value of $100 in here. You will need enough memory for 257 tiles, but
  158. graphic information on all tiles except imported ones will not be saved in a
  159. config file (no point in saving blank spaces).
  160. The number here is designed only as a maximum, or if the number is known.
  161. Most graphic operations manipulate only graphics that have been loaded in,
  162. not all the tiles relating to this number.
  163.  
  164. Underneath this number is a size number. This indicates how big in pixels
  165. the tile will be. The number is either 16,24 or 32 pixels. The height of
  166. tiles is the same as width. This number also affects how much memory will
  167. have to be used, because enough space for the graphics must be reserved. A
  168. 32x32 tile takes up as much memory as 4 16x16 tiles.
  169.  
  170. Clicking on ok will do 3 things...
  171. FREE CURRENLY RESERVED MEMORY.
  172. Map memory is always freed. Graphics memory is olny freed if the numbers in
  173. the 'size' and 'number' slots are different than when you entered the setup
  174. panel. This enables users to change the size of maps without losing the
  175. graphics. This is essential if you want to use a config file that has the
  176. wrong size settings.
  177. If you want to have the same number and size of tiles as before, but still
  178. want the memory freed, just put the change the number to 0, click ok,
  179. re-renter the setup panel, change the number back to the value you want, and
  180. click on ok again.
  181. RESERVE NEW MEMORY GIVEN THE SETTINGS ON THE SETUP PANEL.
  182. If the screen flashes red, memory could not be reserved. Old memory would
  183. still be freed though.
  184. RETURN TO THE MAIN PANEL.
  185. Only if memory could be reserved.
  186.  
  187. Clicking on cancel will cause the program to revert to the settings present
  188. when you entered the setup panel, and return to the main panel.
  189.  
  190.  
  191.  
  192. GFX (Graphics)
  193.  
  194. This screen is concerned with the import and export of graphics only. The 32
  195. colour palette can be changed here also.
  196.  
  197. On the left are the palette change facilities. The current colour number is
  198. shown in hex and decimal, and can be moved up or down using the + or - icons
  199. as usual.
  200.  
  201. The RGB components are shown below this. No messing about with slow sliders
  202. here, just click on the value you want for red, green and blue and that's
  203. it. The current digit (0-F) is shown inversed. The current colour is that
  204. big block that is next to it.
  205.  
  206. The load/save icons are for graphic access. This takes quite a lot of work
  207. to get the hang of, but once it's in, the graphics can be saved out in a
  208. configuration file, so you'll never have to do it again.
  209.  
  210. Graphic import.
  211. You'll need that IFF/raw converter I metioned earlier to import graphics.
  212. Here's how you do it, step by step.
  213.  
  214. 1. Draw your tiles in DPaint.
  215.    Use 32 colour mode only.
  216.  
  217. 2. Put them in stacks of eight with low numbers on top.
  218.    Put tile zero on top, tile one directly underneath etc...
  219.    You should make a stack of eight, so tile eight will be at the top of a
  220.    new stack. If you're using a tile size of 16, stacks should measure 16
  221.    pixels by 128 pixels. Stacks of 32 should be 32 by 256.
  222.  
  223.    If you have 10 tiles, put the first eight in a stack, and put the next
  224.    two on top of another. The last stack should have 6 blank spaces beneath
  225.    that act as null tiles. When importing, only ten tiles need to be set in
  226.    the setup menu.
  227.  
  228. 3. Note down the colour numbers in the palette.
  229.    This is a boring bit. Write down the colour numbers (RGB values) of each
  230.    colour you used in drawing the tiles. Colours you didn't use can just be
  231.    put down as black.
  232.  
  233. 4. Load up your object converter.
  234.  
  235. 5. Draw a box around the first stack (sizes as above).
  236.    If your using the RSI extras converter, like I am. Only sizes 16 and 32
  237.    are allowed. This is because it saves out at word boundaries only.
  238.  
  239.    All frames should be the same size. If you have seven tiles or less in the
  240.    last stack, the frame you draw should still be as deep as eight tiles.
  241.  
  242. 6. Save the frame in raw-norm format. As a filename, use an uppercase,
  243.    letters only name (like TILESA).
  244.  
  245. 7. Do the same for each stack. Use a different filename (TILESB, TILESC
  246.    etc..).
  247.  
  248. 8. Load the mapper and enter the GFX panel.
  249.  
  250. 9. Set the palette as the same as you wrote down before (remember A is 10
  251.    and F is 15, because DPaint doesn't use hex no's)
  252.  
  253. 10. Click on load raw, and type your first filename (eg. TILESA).
  254. 11. Click on it again and type you second file name. Keep doing this until
  255.     all filenames are used. Graphic data will automatically be put on the
  256.     end of data already imported. If you reserve enough memory for 5 tiles
  257.     in the setpu menu, then try to import 8, only the first five will show.
  258.     The mapper won't guru if you import graphics into an already full
  259.     graphical memory.
  260.  
  261. When you enter the main panel, your tiles should be there. Save the config
  262. file as indicated in the FILES panel section. This means you won't have to
  263. do it all again.
  264.  
  265.  
  266. Graphic Export.
  267. Tiles are exported in a different format from when imported.
  268. First plane 1 of tile 0 is exported, then plane 1, plane 2, plane 3, plane 4
  269. and plane 5.
  270. Then Tile 1 etc..
  271. Only tiles that have been imported are exported. The number of tiles
  272. specified in the setup panel is not used during export.
  273.  
  274.  
  275. Clicking on the main icon takes you back to the main panel.
  276.  
  277.  
  278.  
  279. FILES
  280.  
  281. File related actions are contrlled from here.
  282.  
  283. Whenever a file is saved, and the filename exists, then the data is
  284. APPENDED TO THE END. This applies to all files (even files like config files
  285. that don't need it).
  286.  
  287. The types of file are as
  288. follows....
  289.  
  290. --Raw.
  291. This is the data that makes up the map, saved as a binary file. No other
  292. data is saved apart from what is in the map.
  293. The tile number in the top left hand corner is saved first, followed by the
  294. tile to it's right etc...
  295. The size of the file can be worked out as follows -
  296.  
  297. Width of map * Height of map * x
  298. Where x is 1 for a byte size tile or 2 for a word.
  299.  
  300. Raw files can be loaded. If this happens, the settings in the setup menu
  301. decide how big it is.
  302. WARNING - memory is not re-reserved when loading raw files. If you try to
  303. load in a file bigger than the settings allow, reserved memory will be
  304. overfilled, and a guru may result (it all depends on luck).
  305.  
  306. --Ascii.
  307. The data is saved as in a raw file, but with an important difference. The
  308. file is an ascii text file full of dc.b statements designed for inserting
  309. into assemblers. I tested it on Devpac 2, and it worked great. Here's waht
  310. it saves.
  311. A tab,"dc.b ", and then 12 byte values per line in hex, preceded by a $, and
  312. separated by commas. The line ends in a linefeed (ascii-10).
  313. Note that even when a tile is a word long, instead of a byte, dc.b is still
  314. used. On the amiga this doesn't matter (it does on a few other processors).
  315.  
  316. --Format.
  317. This is like a raw file, but also has a header which contains some
  318. information that the mapper uses. The header contains 74 bytes as follows-
  319.  
  320. Tilesin     - The number of tiles that have graphics - 2 bytes.
  321. Numtiles    - The number of tiles on the setup panel - 2 bytes.
  322. Mapwid      - Map width. As on setup panel           - 2 bytes.
  323. Maphgt      - Map height.                            - 2 bytes.
  324. Tilesize    - 16,24 or 32.                           - 1 byte.
  325. Dots        - either 0 for off or 192 for on.        - 1 byte.
  326. Palette     - All palette colours.                   - 64 bytes.
  327.  
  328. --Config.
  329. This contains some important information. The header as mentioned above is
  330. saved, followed by all of the graphic data. If you were designing a game,
  331. level sizes would usually stay the same, as would graphics (level to level),
  332. so each game would have it's own config file.
  333.  
  334. Config files and map information.
  335. The memory that holds the map data is sometimes left intact when a config
  336. file is loaded, and sometimes it is freed and re-reserved using the values
  337. in the config file. Each action is useful.
  338. For example, if you are finished with the current values, and wish to design
  339. another level for a game, you'll want new graphics and new map sizes. The
  340. map that's currently being used would be unwanted.
  341. On the other hand, you might want to load in a new graphics set for the
  342. current map, without losing it.
  343.  
  344. To load in a new config file, and erase the old map. Just clear the map
  345. using the 'clr' icon on the main panel before loding the config file. This
  346. tells the mapper to free the old map memory, and reserve some new, depending
  347. on the values in the config file.
  348. To avoid losing the map. Just have a map on screen. The presence of a map is
  349. detected by either clicking on the canvas with a tile, or loading in a map.
  350.  
  351. Click on the main icon to return you to the main panel.
  352.  
  353.  
  354.  
  355. DRAWING A MAP
  356.  
  357. Select your tile number on the main panel, and click on the canvas to draw.
  358. Use the arrows to scroll.
  359.  
  360. Dots.
  361. Drawing on an invisible grid isn't easy. Switching dots on (spacebar) puts a
  362. little 2x2 pixel dot in the top left hand corner of each tile. This makes
  363. the invisible grid more visible. Note that dots are not saved with graphics!
  364. Dot status (on/off) is saved in the config file.
  365.  
  366.  
  367.  
  368. EXAMPLES
  369.  
  370. Some examples are included on the disk so you can see what the mapper can
  371. do.
  372.  
  373. Load the config file "CONFIGA" using the files panel. If you go to the main
  374. panel, you can cycle through the tiles that have just been loaded in.
  375.  
  376. Load the raw file "MAPA". This is a cityscape made using the tiles.
  377.  
  378. If you now load in another config file, the map won't be erased. This means
  379. you can load in a new palette or graphics set for this map.
  380.  
  381. Load the config file "CONFIGB", and you'll see the city at dusk.
  382.  
  383. You can alter the palette using the gfx panel, or scroll around the display
  384. using the arrows on the main panel.
  385.  
  386. Some raw graphics files for the tiles are also included.
  387. They are called "TILESA" and TILESB".
  388. Load them using steps 10 and 11 on the import graphics bit.
  389.  
  390.  
  391.  
  392. USING THE MAPPER WITHOUT GRAPHIC IMPORTS
  393.  
  394. If you have no IFF/RAW converter, and still wish to use the mapper, it can
  395. emulate the mapper v1 by using numbered squares instead of pictures.
  396. 1. Load the config file 'NUMTILES' using the files panel.
  397. 2. Enter the setup panel.
  398. 3. Enter the map size you require without changing the number of tiles.
  399. 4. Click on ok. If the screen flashes red, the map is too big (not enough
  400.    memory).
  401.  
  402.  
  403.  
  404. CONTACTING ME
  405.  
  406. If you need any help with the mapper, or have any suggestions for the next
  407. update, you can contact me here..
  408.  
  409. Mark Sheeky
  410. 29 Tynedale Avenue
  411. CREWE
  412. Cheshire
  413. CW2 7NY
  414.  
  415. Phone me on (0270) 650691
  416.  
  417.